package com.wrupple.muba.catalogs.client.view;

import com.google.gwt.event.shared.EventBus;
import com.google.gwt.user.client.ui.HasValue;
import com.wrupple.muba.catalogs.client.activity.process.impl.ForeignKeyFilterSelectionProcessImpl.FilterSelection;
import com.wrupple.muba.common.domain.FilterData;
import com.wrupple.muba.common.shared.State.ProcessManager;
import com.wrupple.muba.widget.client.widgets.toolbar.Toolbar;

/**
 * A filter view is a GUI object that portrais a manner for the System to get
 * input on the User's deepest and darkest searching urges.
 * 
 * There is usually one {@link FieldFilterViewProvider} contained in the
 * {@link FilterToolbar} assosiated with each filterable field of a catalog with
 * the FilterView providing a model on how to constrain the possible outcomes of
 * one or more fields of the query results.
 * 
 * 
 * @author japi
 * 
 */
public interface FilterToolbar extends HasValue<FilterData>, Toolbar {
	
	void initialize(ProcessManager pm,EventBus bus);
	
	public void addCriteria(FilterSelection result) ;

}
